INTEL SIMICS
Simulate Anything, Chip to System
Electronic systems are becoming increasingly complex, with multiple processor architectures, multilayered software stacks, and more connectivity. With more connections comes additional security risk, which needs to be tested thoroughly. Compounding the challenge is the fact that developers have turned to DevOps and continuous development practices to meet customer and company expectations for quick deliveries. Such methodologies rely on fast iterations for test, feedback, and deployment. Collaborative and cross-functional teams need tools to communicate and share a common development baseline.
Intel® Simics® allows developers to have on-demand access to any target system at any time. It enables more efficient collaboration between developers and quality assurance teams. Intel Simics provides an automation API, enabling organizations to reap the business benefits of DevOps and continuous development practices to create and deliver better, more secure software, faster — even for complex, embedded, connected, and large IoT systems.
DEVELOP SOFTWARE IN A VIRTUAL ENVIRONMENT
Intel Simics provides the access, automation, and collaboration required to enable DevOps and continuous development practices. By using virtual platforms and simulation, software developers can decouple their work from physical hardware and its limitations during development. Access to virtual hardware allows developers to do continuous integra- tion and automated testing much sooner in the development cycle — even before the hardware design is finalized — as well as perform both testing and debugging during design and prototyping phases. All team members can have unlimited access to virtual hardware, allowing new ways of working and improved collaboration throughout the lifecycle. Virtual hardware can be shipped anywhere, at any time, improving collaboration and ensuring a common baselinefor all developers. Ultimately, developers can adopt a much more agile way of working and can dramatically reduce the risks to a project’s schedule, budget, and quality.
Software developers use Intel Simics to simulate nearly anything, from a single chip up to complete systems and networks of any size or complexity. An Intel Simics simulation of a target system can run unmodified target software. That includes the same boot loader, basic input-output system (BIOS), firmware, operating system, board support package (BSP), middleware, and applications as the hardware. With fault injection in a simulated system, security threats can be tested in a safe and controlled environment. Developers and testers can reap the benefits of developing against this virtual hardware, even before the hardware is available.
MAXIMIZE PRODUCT DEVELOPMENT VELOCITY THROUGH ACCESS, COLLABORATION, AND AUTOMATION
Intel Simics enables more efficient development and higher velocity for development and testing. With seamless and reliable access to the Intel Simics virtual hardware platform, teams can refine in real time; iterate continuously; and move through design, development, and test quickly to build their system incrementally. Intel Simics improves team communication by providing an environment where team members can share actual running systems and system setups with each other, rather than documenting and describing system setups and software behavior. Furthermore, Intel Simics helps shorten development and testing cycles by automating what is impossible to automate with physical hardware.
OPTIMIZE SYSTEM DEVELOPMENT
Complex and connected systems are difficult to debug and manage. While traditional development tools can help you track down bugs related to a single board or software process, finding a bug in a system of many boards and processor cores is a daunting task. For example, if you stop one process or thread with a traditional debugger, other parts in the system continue to execute, making it impossible to get a globally coherent view of the target system state. Intel Simics provides access to, visibility into, and control over all boards and processor cores in the system. Single-stepping forward and in reverse applies to the system as a whole; the whole system can be inspected and debugged as a uni.
Furthermore, a checkpoint — or snapshot — can be created, capturing the entire system state. This state can be passed to another developer, who can then inspect the precise hardware and software state, replay recorded executions, and continue execution as if it had never stopped.
Intel Simics virtual platforms are easier to configure and manage than physical hardware. With the infinite supply of each type of board, scalability testing can go beyond what is possible with physical hardware. Also, developers and testers can inject faults into any part of the system in a nondestructive and repeatable manner. And Intel Simics can simulate systems containing hundreds of processors with a performance level that enables real software target loads to execut.
ON-DEMAND VIRTUAL LABS
One of the biggest obstacles with developing, debugging, integrating, and testing an electronic system is that target hardware and physical labs are not always available for everyone in an operational state, or they are subject to long waiting times to access. This limited access means engineers have to make do with less-than-ideal substitutes such as reference boards or host-based development. With Intel Simics, you can build a virtual lab that is on demand — available for any team member, at any point in time, at any location in the world, and with any amount of hardware. Furthermore, the virtual lab is not just a piece of the system; it can be the complete system. This capability allows users to do their work in the context of a complete system instead of just a part of it.
For developers who support many different configurations of their target hardware, an Intel Simics virtual platform makes it easy to manage multiple configurations of components, which is especially useful for compatibility testing and testing specific customer scenarios.
SUPPORT CONTINUOUS PRACTICES THROUGHOUT THE ENTIRE PRODUCT LIFECYCLE
Intel Simics supports the entire product lifecycle, from design through product deployment and maintenance.
Design
- Explore system design choices and hardware/software interfaces, before silicon is locked down.
- Evolve the product over generations—start with the last generation, and implement the next generation functionality, component by component. Experiment with hardware and software variations, and analyze impacts.
Develop
Develop, debug, and test low-level software, BSPs, and OS configurations even when hardware is not available, and without the constraints of physical hardware.
- Parallelize and reduce dependencies between software and hardware development.
- Provide all application developers with virtual target hardware to enable testing on the real system at any time.
- Leverage advanced debugging capabilities such as checkpoints, record, replay, reverse debugging, and advanced code and hardware breakpoints.
Integrate and Test
Start testing and automation early in the development process. Do continuous hardware and software integration early, on virtual hardware, expanding to physical hardware as it becomes available.
- Build more levels of intermediate setups than are available with hardware, to facilitate continuous integration.
- Test fault tolerance with Intel Simics fault injection. Cover corner cases that cannot be reached in hardware.
- Nondestructive security testing allows you to test, reset, and test again as many times as needed without damage to the system.
- Automate and parallelize testing and expand coverage of target configurations using Intel Simics scripting.
- Save developer time, reduce waiting time to run tests, and shorten feedback loops by using simulation labs in addition to hardware labs.
- Do test and integration on the entire system by integrating Intel Simics models of computer hardware with external models of the physical world or system environment.
- Automate regression testing and continuous integration by tying Intel Simics into existing workflows of software build and test.
Deliver
- Enable partners and ecosystems by sharing the complete virtual system, or parts of it.
- Distribute and share customer-specific configurations easily.
- Keep the ecosystem updated as the system evolves with new hardware and software.
Maintain
Aid customer support by setting up a virtual lab and equipping geographically distributed teams with a virtual equivalent of the end product.
- Create virtual configurations matching customer system configurations to investigate issues and aid support.
- Maintain legacy products indefinitely without worrying about hardware obsolescence and decommissioning.
SUPPORTED TARGET ARCHITECTURES
- Arm®, 32-bit and 64-bit
- Intel® Architecture, 32-bit and 64-bit
- Power, 32-bit and 64-bit
KEY INTEL SIMICS CAPABILITIES
- Immediately run a simulation of popular target architectures using the built-in Quick Start Platforms for Arm, Intel, and PowerPC®.
- Simulate your target system, including processors, devices, full boards, and systems.
- Run the same software on Intel Simics that runs on the physical target.
- Enable everyone with access to the virtual system — within teams, across teams, and with partners and your ecosystem.
- Analyze and debug the full system as a unit, not just as a single board.
- Debug efficiently by running the simulation forward or in reverse.
- Share system state, execution history, and virtual hardware setups with anyone, anywhere.
- Resume execution from the exact point at which you last saved it.
- Inject faults to test system robustness and test diagnostic software.
- Automate manual steps and repetitive tasks with full scripting capability.
- Integrate with your existing software development environment and automated workflows. Or have Wind River Professional Services do it for you.
- Integrate physics and environment simulators to build complete system simulations. Or have Wind River Professional Services do it for you.
- Use the Intel Simics Eclipse-based, C/C++ source code debugger, or use your standard software toolset.
- Use a prepackaged virtual platform from Wind River, build your own, or have Wind River Professional Services build one for you.
* Intel and Simics are trademarks of Intel Corporation or its subsidiaries.